#pragma once

#include <memory>
#include <vector>
#include <map>

#include "MICEXTable.h"

typedef std::vector<MICEXTablePtr>		VEC_MICEX_TABLES;
typedef std::map<std::string, MICEXTablePtr>	MAP_MICEX_TABLES;

class MICEXTables 
{
public:
	MICEXTables();
	virtual ~MICEXTables();

public:
	void Clear();

	void AddTable(MICEXTablePtr pMICEXTable);

	MICEXTablePtr GetTable(int nTableID);
	MICEXTablePtr GetTable(const std::string& tableName);
	const VEC_MICEX_TABLES& GetAllTables();

public:
	VEC_MICEX_TABLES	vecMICEXTables;
	MAP_MICEX_TABLES	mapMICEXTables;
};